Streaming media over networks, in particular over the Internet, using the Hypertext Transfer Protocol (HTTP) has become a popular approach for delivering of multimedia content. HTTP streaming makes use of existing content delivery networks, or content distribution networks (CDNs), large distributed systems of servers deployed in multiple data centers across the Internet, which facilitates relatively high availability, high performance, cost-effective delivery of multimedia content to end-users.
In HTTP streaming schemes, the client system manages the streaming activity, eliminating the need for the corresponding server system to maintain a session state regarding the streaming activity, and thus reducing required server overhead. Owing to the popularity of HTTP streaming, several proprietary streaming platforms have been developed to support HTTP streaming.
In addition, in an attempt to provide an improved and standardized methodology for adaptively streaming media over a network, the Moving Picture Expert Group (MPEG) has defined Dynamic Adaptive Streaming over HTTP (DASH), or MPEG-DASH. A joint technical committee of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) has since incorporated the MPEG-DASH specification in the ISO/IEC 23009-1 open standard. The international standard promotes interoperability between clients and servers from various vendors.
In MPEG-DASH, an audio/video multimedia data stream is divided, or partitioned, into multiple pieces, or periods. Each period can be further divided into multiple segments, which can be subdivided into subsegments. The periods and segments, along with their locations and other relevant details, are described in a media presentation description (MPD) file. The client system requests segments from the server system using HTTP, and then splices together or sequentially presents the pieces of media streams contained in or files. Thus, the client system controls delivery of the media content.
An MPEG-DASH presentation typically includes alternative representations, for example, multiple versions of multimedia files for each segment with differing resolutions and/or bit rates. This allows the client system to dynamically select the most appropriate representation based on environmental conditions, such as network conditions, device capabilities and user preferences. This scheme enables adaptive bitrate streaming throughout the presentation, as the client may switch between versions as necessary to adapt to changing network, CPU and buffer status. Alternative representations further allow the client to choose among various adaptation sets to respond to user input, such as enabling or disabling subtitles, or selecting a language.
Insertion of commercial advertisements in streaming media presentations has become an important revenue source for online streaming providers. For example, advertisements can be inserted as a period at the beginning (pre-roll) or in the middle of a presentation (mid-roll). From the perspective of the advertiser, it is highly desired that the user view the subsequent media content only after viewing the inserted advertisement(s). Thus, from the perspective of the online streaming provider, it generally is important to ensure that the advertisement period is presented by the client system to the user, or viewer, before the subsequent media content is presented.
However, since MPEG-DASH client systems typically run in an open environment, hardware or software platform, and are implemented as an open-source package, the client system can easily be modified to behave in a different manner than that intended by the media provider, or that specified in the MPD. Thus, in general, the client system can be configured to omit part of the HTTP media content of a streamed presentation, allowing the user to skip a specified portion—typically an advertisement—and thus interfere with the ad-sponsored business model.
As a result, controlling client system behavior has become a concern in HTTP streaming, including MPEG-DASH-based technology and related applications.